Communication networks are used to communicate information between various locations. While an ideal communication network would be able to instantly communicate an arbitrarily large amounts of information among arbitrarily diverse locations, such a communication network is not practical. Rather, actual communication networks are limited in both throughput (the amount of information that may be communicated) and latency (the time it takes to communicate the information).
While it is possible to treat all types of information similarly, such treatment is generally not ideal. Rather, the significance of various network performance parameters varies among different types of information. For example, some types of information, such as teleconferencing information, may have high bandwidth requirements and require almost instantaneous communication. However, such information may not be substantially degraded if not all of the information is effectively communicated. In other words, small portions of the information may be dropped occasionally without great adverse effects.
Other types of information, such as realtime interactive communication of information having lower bandwidth and delay constraints, may be subject to a requirement that all of the information be accurately communicated. For example, a point-of-sale terminal may not communicate a large amount of information, but the information it communicates may be required to be communicated in a timely manner with no loss of information.
Still other types of information may have even more relaxed delay requirements. For example, a file transfer application may communicate large amounts of data, but may allow several hours for the data to be transmitted. Thus, because of the different properties of different types of information, it is useful to be able to provide service discrimination in the communication of the information. By allowing service discrimination based on the types of information, various parameters of the communication networks may be optimized with respect to each type of information so as to maximize the overall effectiveness of the communication of the information as a whole.
In order to facilitate such service discrimination, various communications protocols provide various features and enhancements. For example, the Internet protocol (IP) provides “differentiated services” enhancements to enable scalable service discrimination in the Internet and other IP-based networks.
Differentiated services are described in S. Blake et al., “An Architecture for Differentiated Services,” Request for Comments 2475, The Internet Society, December 1998, hereafter RFC2475, and K. Nichols et al., “Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers,” Request for Comments 2474, The Internet Society, December 1998, hereafter referred to as RFC2474. Both RFC2475 and RFC2474 are incorporated herein by reference.
In a network of IP nodes, a unicast packet which travels from its source node to its destination node may traverse several intermediate routing nodes. The interfaces between nodes have a fixed amount of bandwidth, buffer storage, or other resources, for which all packets using that interface, possibly from multiple sources to multiple destinations, must contend.
While the differentiated services enhancements described in RFCs 2475 and 2474 provide some desirable characteristics, they are not ideal. They suffer from various shortcomings. For example, the introduction of a differentiated services codepoint field requires that a differentiated services codepoint value be examined throughout the network and that the information be handled throughout the network in a manner consistent with the differentiated services codepoint value. This constant examination of the differentiated services codepoint value requires additional processing capability within the network and effectively reduces the bandwidth of the network. Moreover, the introduction of the differentiated services codepoint field opens up the possibility that a user could modify the differentiated services codepoint value to perpetrate theft-of-service and denial-of-service attacks within the network.
Another problem arising from the existing differentiated services enhancements is the requirement that the entire network be upgraded to be compatible with the differentiated services enhancements. Communication of information according to the differentiated services enhancements may be impaired if a node does not support such enhancements.
Thus, a technique is needed to allow communication of information in a manner that allows service discrimination while avoiding the disadvantages of existing differentiated services approaches.